package io.kiki.sba.registry.server.shared.client.manager;

import io.kiki.sba.registry.common.model.metaserver.ClientManagerAddress;
import io.kiki.sba.registry.common.model.metaserver.ClientManagerAddress.AddressVersion;
import io.kiki.sba.registry.common.model.metaserver.ClientManagerResult;
import io.kiki.sba.registry.store.api.DBResponse;

import java.util.Set;

public interface ClientManagerService {


    ClientManagerResult clientOpen(Set<String> ipSet);


    ClientManagerResult clientOff(Set<String> ipSet);

    ClientManagerResult clientOffWithSub(Set<AddressVersion> address);


    DBResponse<ClientManagerAddress> queryClientOffAddress();


    ClientManagerResult reduce(Set<String> ipSet);

    void waitSynced();
}
